package com.battle.service.service.in;

import cn.hutool.json.JSONArray;
import com.battle.pojo.enums.resource.ResourceTypeEnum;
import com.battle.pojo.param.resource.*;
import com.battle.pojo.vo.resource.*;

import java.util.List;


/**
 * 【描 述】：资源服务
 * 【环 境】：J2SE
 * 【详 细】：
 *
 */
public interface ResourceService {
    /**
     * 批量推送资源
     */
    void updateSystemResource(JSONArray param);

    /**
     * 获取所有资源树形
     */
    JSONArray getResourceTree(List<ResourceTypeEnum> typeList);

    /**
     * 获取用户关联资源树形
     */
    JSONArray getUserResourceTreeByUserId(Long userId, List<ResourceTypeEnum> typeList);

    /**
     * 获取用户关联资源列表
     */
    JSONArray getUserResourceListByUserId(Long userId, List<ResourceTypeEnum> typeList);

    /**
     * 获取用户下所有资源code
     */
    List<String> getCodeListByUserId(Long userId);

    /**
     * 获取资源树
     * @param param
     * @return
     */
    GetResourceTreeVo getAuthorizedTree(GetResourceTreeParam param);
}